package com.atguigu.yygh.hosp;

import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;

/**
 * @description: YyghParentApplication
 * @author :又菜又爱玩的→速趴塞亚锦←
 * @create :2023/5/11
 * @param  :1.8
 */
@SpringBootApplication
@ComponentScan(value = "com.atguigu.yygh")//是:扫描API文档的
@MapperScan(value = "com/atguigu/yygh/hosp/mapper")//*******************************
@Slf4j
@EnableDiscoveryClient//使用nacos(乃扣斯)把微服务注册到nacos(乃扣斯)注册中心，一共三步，这是第三步，同理上传几个微服务就去填几个
@EnableFeignClients(basePackages = "com.atguigu.yygh")//一个微服务调另一个微服务 ==  需要指定扫描包
public class YyghParentApplication {
    public static void main(String[] args) {
        SpringApplication.run(YyghParentApplication.class,args);
        log.info("[项目启动了...]");
    }
    /**
     * @description:
     *        使用Openfeign一共四步************@EnableFeignClients(basePackages = "com.atguigu.yygh")//一个微服务调另一个微服务 ==  需要指定扫描包
     *        第一步：导入依赖
     *        第二步：自定义一个fein客户端接口，@FeinClient(value="调用方在注册中心上的应用名称")，方法和被调用方的controller层方法完全一致
     *        第三步：在主启动类上加@EnableFeignClients注解
     *        第四步：在远程调用的地方直接注入自定义feign接口的代理类对象，即可远程调用
     * @author :又菜又爱玩的→速趴塞亚锦←
     * @create :2023/5/11
     * @param  :1.8
     * 'com.atguigu.yygh.hosp.mapper.HospitalSetMapper'
     * available: expected at least 1 bean which qualifies as autowire candidate.
     * Dependency annotations:
     * {@org.springframework.beans.factory.annotation.Autowired(required=true)}
     *
     * =====================项目第一次报错因为没有添加@MapperScan(value = "com/atguigu/yygh/hosp/mapper")
     * 因为没有指定mapper层的信息
     */
}
